/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package EntityGameObject;

/**
 *
 * @author Van persie
 */
public class Pet  extends AbsEntityGameObject{
    
    public static  final int EXP = 0;
    public static  final int LEVEL = 1;
    public static  final int POINTS = 2;
    public static  final int SPEED = 3;
    public static  final int TONGUELEN = 4;
    public static  final int MONEY = 5;
    
        
    public static final int EMOTION_SAD = 0;
    public static final int EMOTION_HAPPY = 1;   
    
    public static final int STATUS_HUNGRY = 0;
    public static final int STATUS_FULL = 1;   
    
    int exp;
    int level;
    int points;
    private int emotion;
    private int status;
    
    private int speech;
    private int tongueLen;
    private int money;
    
    
    
    
    public Pet()
    {
        exp = 50;
        level  = 3;
        points = 3;
        speech = 0;
        tongueLen = 5;
        money = 20;
        emotion = EMOTION_HAPPY;
        status = STATUS_HUNGRY;
        
        
        
        
        
       // LastPlay = System.currentTimeMillis();
    }
    public void AddAttributes(int AttType, int Increment)
    {
        switch(AttType)
        {
            case EXP:
                exp += Increment;
                break;
            case LEVEL:
                level += Increment;
                break;
                
            case POINTS:
                points += Increment;
                break;
                
            case SPEED:
                setSpeech(getSpeech() + Increment);
                break;
                
            case TONGUELEN:
                setTongueLen(getTongueLen() + Increment);
                break;   
            case MONEY:
                money += Increment;
                break;
        }
    }
    public int GetAttributes(int AttType)
    {
        int i = -1;
        switch(AttType)
        {
            case EXP:
                i = exp;
                break;
            case LEVEL:
                i = level;
                break;
                
            case POINTS:
                i =points;
                break;
                
            case SPEED:
                i = getSpeech();
                break;
                
            case TONGUELEN:
                i = getTongueLen();
                break;   
            case MONEY:
                i = getMoney();
                break;
        }
        return i;
    }
    public void SetAttributes(int AttType, int Value)
    {
        switch(AttType)
        {
            case EXP:
                exp = Value;
                break;
            case LEVEL:
                level = Value;
                break;
                
            case POINTS:
                points = Value;
                break;
                
            case SPEED:
                setSpeech(Value);
                break;
                
            case TONGUELEN:
                setTongueLen(Value);
                break; 
                 
            case MONEY:
                setMoney(money);
                break;
        }
    }

    /**
     * @return the speech
     */
    public int getSpeech() {
        return speech;
    }

    /**
     * @param speech the speech to set
     */
    public void setSpeech(int speech) {
        this.speech = speech;
    }

    /**
     * @return the tongueLen
     */
    public int getTongueLen() {
        return tongueLen;
    }

    /**
     * @param tongueLen the tongueLen to set
     */
    public void setTongueLen(int tongueLen) {
        this.tongueLen = tongueLen;
    }

    /**
     * @return the emotion
     */
    public int getEmotion() {
        return emotion;
    }

    /**
     * @param emotion the emotion to set
     */
    public void setEmotion(int emotion) {
        this.emotion = emotion;
    }

    /**
     * @return the status
     */
    public int getStatus() {
        return status;
    }

    /**
     * @param status the status to set
     */
    public void setStatus(int status) {
        this.status = status;
    }

    /**
     * @return the money
     */
    public int getMoney() {
        return money;
    }

    /**
     * @param money the money to set
     */
    public void setMoney(int money) {
        this.money = money;
    }
    
    
    
}
